/**
 * Created by Administrator on 2017/7/31.
 */
$(document).ready(function () {

    if (C.token==undefined||C.token==null){
        alert('请登录');
        //location.href='login.html';
        return ;
    }
    //是否异步完成
    var isUpdateAjaxDown=true;

    //获取localStorage本地存储
    var shopCart=JSON.parse(localStorage.getItem('shoppingCard'));
    console.log(shopCart);

    //Handlebars编译代码
    var cartTemplate=$('#cart-template').html();
    var cartCmp=Handlebars.compile(cartTemplate);

    //编译后的html中传入获取到的localStorage,放入cart-box这个容器中
    $('#cart-box').html(cartCmp(shopCart));
    //每一项产品,这里是一个列表
    var cartList=$('.cart-list-box');
    if (cartList.length>1){

    }

    /*商品数量加*/
    function cartJia() {
        /*if (!isUpdateAjaxDown) return false;
        isUpdateAjaxDown=false;*/

        //清除默认行为 (例如：a标签,点击会跳转)
        event.preventDefault();

        // var id = parseInt($(this).parents('.navList').find('.goodImgUrl').attr('href').split('=')[1]);

        //获取数量
        var number=parseInt($(this).parent('.shop-add-sub').find('.shop-number').html());
        console.log(number);
        //单个商品超过99个就不让其再添加下去
        if (number>=99){
            return false;
        }
        //三元运算符:如果商品数量=0的时候就让数量=1
        number=number>0?number : 1;
        //每次都累加1
        number++;
        //把累加完的数放入到中间数量显示区域
        $(this).parent('.shop-add-sub').find('.shop-number').html(number);
        //调用价格函数
        updateCartHtml(number);
    }
    /*商品数量减*/
    function cartJian() {
        event.preventDefault();
        var number=parseInt($(this).parent('.shop-add-sub').find('.shop-number').html());
        number = number > 0 ? number : 1;
        number--;
        updateCartHtml(number);
        if (number==0){
            return false;
        }else {
            $(this).parent('.shop-add-sub').find('.shop-number').html(number);
            updateCartHtml(number);
        }
    }


    //调用加减  分别给+ -绑定点击事件
    $('.shop-add').bind('click',cartJia);
    $('.shop-sub').bind('click',cartJian);


    //给id为allChoose和editChoose的元素添加chooseAll商品全选事件
    $(document).on("change", '#allChoose , #editChoose', chooseAll);

    //给购物车单件选择商品按钮绑定价格函数
    $(document).on("change", 'input[name=chooseCart]', updateCartHtml);

    //编辑状态 选择按钮变化，不明白!
    $(document).on("change", 'input[name=editCart]', updateCartHtml);
    //点击编辑
    $(document).on('click','header .right',editCart);

    //删除商品
    $(document).on('click','#delCart',function () {
        //editCart商品多选
        $("input[name=editCart]").each(function (k, v) {
            //怎么走都是true
            //不明白.find('.shop-add-sub').data('skuid');
            if (this.checked) {
                //不明白sId怎么来的
                sId=$(this).parents('.cart-list-box').find('.shop-add-sub').data('skuid');
                console.log(sId);
                //调用删除商品
                deleteShop();
                //删除当前选中的整个商品
                $(this).parents('.cart-list-box').remove();
                //商品数量为空时显示您的购物车内为空
                nullCart();
            }
        });

    });
    //页面初始加载时渲染商品价格。
    updateCartHtml();
    //商品数量为空时显示您的购物车内为空
    nullCart();

    var buyId = '';
    var sId='';
    var cartData='';
    //去支付
    $(document).on('click','#go-pay',function () {
        //商品个数取值
        var selectNull=$('.cart-go-pay').find('#number').html();
        //console.log(selectNull);
        //要结算：商品数量是0的时候
        if (selectNull>0){
            //循环所有的（每一项）商品选择
            $("input[name=chooseCart]").each(function (k, v) {
                //怎么走都是true
                if (this.checked) {
                    //选择哪个商品就获取到哪个商品的id
                    sId=$(this).parents('.cart-list-box').find('.shop-add-sub').data('skuid');
                    //console.log(sId);
                    //选择哪个商品就获取到哪个商品的id
                    var pId=$(this).parents('.cart-list-box').find('.shop-add-sub').data('productid');
                    //获取商品个数
                    var sNumber=$(this).parents('.cart-list-box').find('.shop-add-sub').find('.number').html();
                    //console.log(sNumber);
                    //不明白
                    buyId = '';
                    buyId+= pId+':'+sId+':'+sNumber+',';
                    console.log(buyId);

                }else{}
                //设置localStorage,属性名orderSubmitId,属性值:buyId
                var orderSubmitId=localStorage.setItem('orderSubmitId',buyId);
                //console.log(orderSubmitId);
            });

            /*buyId = buyId.substring(1, buyId.length);
            console.log(buyId);*/

            location.href='confirm-order.html?version='+C.version;
        }else {
            return false;
            //$('.null-cart').show();
        }

    });

    //商品数量为空时显示您的购物车内为空
    function nullCart() {
        if($('#cart-box').find('a').find('.cart-list-box').length==0){
            $('.null-cart').show();
        }
    }

    //商品全选
    function chooseAll() {
        var isChecked = $(this).is(":checked");
        console.log(isChecked);
        // hasClass筛选body中是否包含有edit类名的元素
        if ($("body").hasClass('edit')) {
            $("input[name=editCart]").each(function (k, v) {
                this.checked = isChecked;
            });
        } else {
            $("input[name=chooseCart]").each(function (k, v) {
                this.checked = isChecked;
            });
            updateCartHtml();
        }
    }

    //更新商品价格及总价
    function updateCartHtml(number) {
        var hasAllChecked = true;
        if ($("body").hasClass("edit")) {
            $("input[name=editCart]").each(function (k, v) {
                if (!$(this).is(":checked")) hasAllChecked = false;
            });
            document.getElementById('editChoose').checked = hasAllChecked ? true : false;
        }else{
            var num = 0, totalPrice = 0;
            $("input[name=chooseCart]").each(function (k, v) {
                if ($(this).is(":checked")) {
                    var navList = $(this).parents('.cart-list-box');
                    num += parseInt(navList.find(".number").html());
                    //console.log(navList.find(".shop-danjia").html());
                    totalPrice = addFloatNum(totalPrice, accMul(parseFloat(navList.find(".shop-danjia").html()) , parseInt(navList.find(".number").html())), 'jia');
                } else {
                    hasAllChecked = false;
                }
            });
            $('#number').html(num);
            $('#totalPrice').html(toDecimal2(totalPrice));
            document.getElementById('allChoose').checked = hasAllChecked ? true : false;
        }

    }

    //删除商品
    function deleteShop() {
        //获取localStorage本地存储
        cartData=JSON.parse(localStorage.getItem('shoppingCard'));
        console.log(cartData);
        //循环本地存储条数
        for (var i=cartData.length-1;i>=0;i--){
            if (cartData[i].skuId==sId){
                cartData.splice(i,1);
                console.log(cartData);
                var nowData=JSON.stringify(cartData);

                localStorage.setItem('shoppingCard',nowData);

                //console.log(nowData);
            }
        }
    }
    /**
     * 编辑状态
     * */
    function editCart() {
        event.preventDefault();
        if ($("body").hasClass("edit")) {
            $('body').removeClass("edit").addClass('default');
            $(this).html("编辑");
            updateCartHtml();
        } else {
            $('body').addClass("edit").removeClass("default");
            $(this).html("完成");
        }
    }




    /**
     * 利用本地存储实现购物车
     * cartLocal
     * */
    function Storage(key) {
        //添加一项数据
        //value:object
        this.add=function (value) {
            if (value){
                var v=this.get();
                v.push(value);
                this.set(v);
            }
        };
        //设置数据
        //value：array null
        this.set=function (value) {
            if (value){
                var v=JSON.stringify(value);
                localStorage.setItem(key,v);
            }else {
                localStorage.removeItem(key);
            }
        };
        // 获取数据
        this.get=function () {
            var value=localStorage.getItem(key)||'[]';
            return JSON.parse(value);
        }
    }









    

    









});

